package com.zhou.common.operator.log.core.annotation;


import com.zhou.common.operator.log.core.constant.OperateActionEnum;
import com.zhou.common.operator.log.core.resolver.OperateResolver;
import com.zhou.common.operator.log.core.resolver.impl.DefaultOperateResolver;

import java.lang.annotation.*;

/**
 * @author 18576666986
 */
@Target({ElementType.METHOD})
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface OperateLog {
    /**
     * 操作的动作类型
     *
     * @return
     */
    OperateActionEnum action();

    /**
     * 操作的系统
     *
     * @return
     */
    String operateSystem();

    /**
     * 操作的模块
     *
     * @return
     */
    String operateModule();

    /**
     * 操作说明
     *
     * @return
     */
    String operateInstruction();

    String operateType();

    String resource() default "";

    Class<? extends OperateResolver> resolver() default DefaultOperateResolver.class;
}

